package com.cysoft.third.echarts.component.visualMap.continuous;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.visualMap.continuous
 * @date 2025/3/13 00:59
 * @desc 视觉映射手柄样式配置，用于设置两端手柄的样式。
 */
public class VisualMapHandleStyle {

    /**
     * 图形的颜色，支持使用 rgb(255,255,255)、rgba(255,255,255,1)、#fff 等方式设置为纯色，也支持设置为渐变色和纹理填充。
     */
    private Object color;
    /**
     * 图形的描边颜色，支持的颜色格式同 color，不支持回调函数。
     */
    private String borderColor = "#fff";
    /**
     * 描边线宽，为 0 时无描边。
     */
    private Integer borderWidth = 1;
    /**
     * 描边类型，可选值为 'solid'、'dashed'、'dotted'，自 v5.0.0 开始，也可以是 number 或者 number 数组，
     * 用以指定线条的 dash array，配合 borderDashOffset 可实现更灵活的虚线效果。
     */
    private Object borderType = "solid";
    /**
     * 用于设置虚线的偏移量，可搭配 borderType 指定 dash array 实现灵活的虚线效果。
     */
    private Integer borderDashOffset;
    /**
     * 用于指定线段末端的绘制方式，可选值为 'butt'（线段末端以方形结束）、'round'（线段末端以圆形结束）、
     * 'square'（线段末端以方形结束，但是增加了一个宽度和线段相同，高度是线段厚度一半的矩形区域）。
     */
    private String borderCap = "butt";
    /**
     * 用于设置 2 个长度不为 0 的相连部分（线段，圆弧，曲线）如何连接在一起的属性，可选值为 'bevel'（在相连部分的末端填充一个额外的以三角形为底的区域，每个部分都有各自独立的矩形拐角）、
     * 'round'（通过填充一个额外的，圆心在相连部分末端的扇形，绘制拐角的形状，圆角的半径是线段的宽度）、
     * 'miter'（通过延伸相连部分的外边缘，使其相交于一点，形成一个额外的菱形区域，这个设置可以通过 borderMiterLimit 属性看到效果）。
     */
    private String borderJoin = "bevel";
    /**
     * 用于设置斜接面限制比例，只有当 borderJoin 为 miter 时，该属性才有效。
     */
    private Integer borderMiterLimit = 10;
    /**
     * 图形阴影的模糊大小，该属性配合 shadowColor、shadowOffsetX、shadowOffsetY 一起设置图形的阴影效果。
     */
    private Integer shadowBlur;
    /**
     * 阴影颜色，支持的格式同 color。
     */
    private String shadowColor;
    /**
     * 阴影水平方向上的偏移距离。
     */
    private Integer shadowOffsetX;
    /**
     * 阴影垂直方向上的偏移距离。
     */
    private Integer shadowOffsetY;
    /**
     * 图形透明度，支持从 0 到 1 的数字，为 0 时不绘制该图形。
     */
    private Double opacity = 1.0;
}
